Binds the framebuffer, setting it as a target for every draw call
Clears the current framebuffer content
Creates the framebuffer using the target width and height
Must draw the framebuffer content
Gets the texture containing the framebuffer data
Resizes the framebuffer, probably this will not be implemented in the backend level
Unbinds the framebuffer, resetting the renderer state and setting the output as the screen